package com.ctl.function;

import java.util.function.BiFunction;
import java.util.function.Function;

/**
 * Consumer：消费型接口，有入参，无返回值。
 *
 * ​ void accept(T t);
 *
 * Supplier：供给型接口：无入参，有返回值
 *
 * ​ T get();
 *
 * Function<T,R>：函数型接口，有入参，有返回值
 *
 * ​ R apply(T t);
 *
 * Predicate：断言型接口，有入参，有返回值，返回值类型确定是boolean
 *
 * ​ boolean test(T,t);
 */
public class FunctonTest {
    public static void main(String[] args) {
        Function<Integer,Integer> function =p->p*5;
        System.out.println(function.apply(10));//50=10*5

        BiFunction<Integer,Integer,Integer> biFunction = (m,n)->m*n+m+n;
        System.out.println(biFunction.apply(2,3));//11=2*3+2+3
    }
}
